Wireless communication devices, such as mobile phones, wireless personal digital assistants (PDA's), and wireless PCs have become indispensable tools as the number of features and functions they provide increases. In order to implement these features and functions, the wireless communication devices contain firmware and software provided by device manufacturers, telecommunication carriers, or other third party manufacturers.
As technology continues to evolve, a manufacturer of such devices will find it imperative to update these devices with revised firmware and application software that enables a number of new features and functions. Often, the firmware and application software contain software bugs. New versions of the firmware and software are periodically released to fix the bugs or to introduce new features, or both.
However, there are a number of issues that arise when new releases of firmware and software are incorporated. Wireless communication devices are often constrained in terms of resources, such as available memory. Attempts to upgrade firmware or software by end-users often result in making the wireless communication device inoperable. In addition, attempts to upgrade firmware and/or software are often constrained by slow download speeds. Further, download times may be lengthy, inhibiting operational use of these wireless communication devices. In addition, determination of the version of firmware or application software that is currently being executed on the wireless communication device is not an easy task, especially if performed by an end-user.
Typically, a carrier supports the use of a variety of wireless communication devices from a plurality of manufacturers on the carrier's network. Without incorporating additional signaling information in the transmission protocol, a carrier may not be able to determine the make and model of the wireless communication device currently being used by an end-user on the carrier's network. As a consequence, an appropriate update package cannot be prescribed.
Given a particular make and model of wireless communication device, it also becomes necessary to determine the software version required. In many instances, it is not convenient to determine how a firmware or application software has changed between versions. One possible approach to providing a firmware and/or software update is to just ship the entire new version of firmware or software to a wireless communication device. However, the wireless communication device may not have sufficient free memory space to receive such packages of firmware or software. In addition, additional memory space may be needed in the processing and incorporation of such firmware and software. Furthermore, the time required for transferring a complete version of firmware or software to an electronic device from a carrier may pose a significant inconvenience to an end-user.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.